// 包声明：表示这个类属于com.itheima.object包，用于组织代码结构
package com.itheima.object;

// 公共类定义：Test2是一个公共类，可以被其他类访问
public class Test2 {
    // main方法：程序的入口点，所有Java程序都从这里开始执行
    // public: 公共访问权限，static: 静态方法，void: 无返回值
    // String[] args: 命令行参数数组
    public static void main(String[] args) {
        // 注释：说明这段代码的目标是创建学生对象并操作学生数据
        // 目标：创建学生对象存储学生数据，并操作学生数据。
        
        // 创建Student类的对象s1：使用new关键字和构造方法
        // Student是类名，s1是对象名，= new Student()是创建对象的语法
        Student s1 = new Student();
        
        // 为s1对象的name属性赋值：使用对象名.属性名的方式访问属性
        s1.name = "播妞";  // 设置学生姓名为"播妞"
        
        // 为s1对象的chinese属性赋值：语文成绩为100分
        s1.chinese = 100;
        
        // 为s1对象的math属性赋值：数学成绩为100分
        s1.math = 100;
        
        // 调用s1对象的printAllScore()方法：打印学生的总成绩
        // 使用对象名.方法名()的方式调用对象的方法
        s1.printAllScore();
        
        // 调用s1对象的printAverageScore()方法：打印学生的平均成绩
        s1.printAverageScore();
        
        // 打印s1对象：输出对象的引用地址（默认情况下）
        System.out.println(s1);

        // 创建第二个Student类的对象s2
        Student s2 = new Student();
        
        // 为s2对象的name属性赋值：学生姓名为"播仔"
        s2.name = "播仔";
        
        // 为s2对象的chinese属性赋值：语文成绩为50分
        s2.chinese = 50;
        
        // 为s2对象的math属性赋值：数学成绩为100分
        s2.math = 100;
        
        // 调用s2对象的printAllScore()方法：打印学生的总成绩
        s2.printAllScore();
        
        // 调用s2对象的printAverageScore()方法：打印学生的平均成绩
        s2.printAverageScore();
        
        // 打印s2对象：输出对象的引用地址
        System.out.println(s2);
    }  // main方法结束
}  // Test2类结束
